package com.hdax.dm.scheduler.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hdax.dm.entity.scheduler.SchedulerSeat;
import com.hdax.dm.scheduler.dto.ChooseSeatScheduleDto;
import com.hdax.dm.scheduler.dto.SeatDto;
import com.hdax.dm.utils.CommonResponse;

import java.util.List;

public interface SchedulerSeatService extends IService<SchedulerSeat> {

    /**
     * 根据排期id查询剧场内所有座位信息
     */
    CommonResponse<SeatDto> getSeats(Long scheduleId);

    /**
     * 查询所有可选座位
     * @param scheduleId
     * @return
     */
    CommonResponse<ChooseSeatScheduleDto> seatAvaliable(Long scheduleId);

    /**
     * 根据isNotAll动态判断查询的座位是全部还是可购买
     * isNotAll : true  查询可购买
     * isNotAll : false 查询全部座位
     * @return
     */
    List<SchedulerSeat> seats(Long scheduleId,boolean isNotAll);

    int updateSeat(SchedulerSeat seat);

    boolean seatRollback(String orderNo);

    /**
     * 修改座位状态为已出售
     */
    int soldSeat(String orderNo);

    /**
     * 修改座位为有座位
     * @param orderNo
     * @return
     */
    int updateSeatOne(String orderNo);
    /**
     * 将座位状态改为已售出
     * @param orderNo
     * @return
     */
    int updateSeatTwo(String orderNo);
}
